`ifndef {{NAME}}_SEQUENCER__SV
`define {{NAME}}_SEQUENCER__SV

class {{name}}_sequencer extends uvm_sequencer #({{name}}_transaction);

    function new(string name, uvm_component parent);
        super.new(name, parent);
    endfunction

    `uvm_component_utils({{name}}_sequencer);
    
    extern virtual function void build_phase(uvm_phase phase);
endclass

function void {{name}}_sequencer::build_phase(uvm_phase phase);
    super.build_phase(phase);
endfunction

`endif